
#ifndef HLPRS_H
#define HLPRS_H

#include <string>
#include <vector>
#include <map>
#include "JsonReader.h"
using namespace std;

struct Settings {
	string merge_type;
	string file_name;
	string set_quantity_to_zero;
	string price_zero;
	string rrp_zero;
	string quantity_zero;
	string name_out_of_stock;
	string quantity_in_stock;
	string quantity_out_of_stock;
};

struct Columns {
	string name;
	string article;
	string code;
	string price;
	vector<string> quantity;
	string rrp;
	string comment;
	vector<string> more_comment;
};

struct Relative_columns {
	string name;
	string article;
	string code;
	string price;
	vector<string> quantity;
	string rrp;
	string comment;
	vector<string> more_comment;
};

struct Custom_values {
	string name;
	string article;
	string code;
	string price;
	string quantity;
	string rrp;
	string comment;
};

struct Service_marks {
	map<string, string> main;
	map<string, string> extention;
};

struct JsonDataModel {
	struct Settings settings;
	struct Columns columns;
	struct Relative_columns relative_columns;
	struct Custom_values custom_values;

	//struct Service_marks service_marks;
	vector<struct Service_marks> service_marks;
};

vector<struct JsonDataModel> getJsonDataModelFromFile(char* filename);
vector<struct JsonDataModel> getJsonDataModelFromString(char* data);
vector<struct JsonDataModel> getJsonDataModel(JsonReader* reader);
//JsonDataModel getJsonDataModel(char* filename);

#endif // HLPRS_H
